//给你一个字符串 word 和一个整数 numFriends。 
//
// Alice 正在为她的 numFriends 位朋友组织一个游戏。游戏分为多个回合，在每一回合中： 
//
// 
// word 被分割成 numFriends 个 非空 字符串，且该分割方式与之前的任意回合所采用的都 不完全相同 。 
// 所有分割出的字符串都会被放入一个盒子中。 
// 
//
// 在所有回合结束后，找出盒子中 字典序最大的 字符串。 
//
// 
//
// 示例 1： 
//
// 
// 输入: word = "dbca", numFriends = 2 
// 
//
// 输出: "dbc" 
//
// 解释: 
//
// 所有可能的分割方式为： 
//
// 
// "d" 和 "bca"。 
// "db" 和 "ca"。 
// "dbc" 和 "a"。 
// 
//
// 示例 2： 
//
// 
// 输入: word = "gggg", numFriends = 4 
// 
//
// 输出: "g" 
//
// 解释: 
//
// 唯一可能的分割方式为："g", "g", "g", 和 "g"。 
//
// 
//
// 提示: 
//
// 
// 1 <= word.length <= 5 * 10³ 
// word 仅由小写英文字母组成。 
// 1 <= numFriends <= word.length 
// 
//
// Related Topics 双指针 字符串 枚举 👍 3 👎 0


//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public String answerString(String word, int numFriends) {
        int n = word.length();
        if (numFriends == 1) {
            return word; // 整个字符串是唯一合法的子串
        }

        String maxStr = "";

        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j <= n - (numFriends - 1); j++) {
                String segment = word.substring(i, j);
                if (segment.compareTo(maxStr) > 0) {
                    maxStr = segment;
                }
            }
        }

        return maxStr;
    }
}


//leetcode submit region end(Prohibit modification and deletion)
